/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package com.syncro.registro.services;

import com.syncro.persistencia.IPersistenceServices;
import com.syncro.persistencia.PersistenceServices;
import com.syncro.registro.entities.*;
import java.util.Collection;
import java.util.Iterator;

/**
 *
 * @author bcamargo
 */
public class DespachoServiceMock implements IDespachoService {

    IPersistenceServices mPersistanceService = PersistenceServices.getInstance();
    IComunicacionService mComunicacionService;
    Registroemergencia mRegistro;
    public void despacharGrupos(Registroemergencia registro) {

        mRegistro = registro;
        this.pedirDisponibilidadGrupos(registro.getIdtipo().getTipogrupoCollection());
    }

    public void guardarDespacho(Despacho despacho)
    {
        despacho.setIdreporte(mRegistro);
        mPersistanceService.create(despacho);
    }

    private void pedirDisponibilidadGrupos(Collection<Tipogrupo> tipogrupoCollection) {
        for(Iterator<Tipogrupo> i = tipogrupoCollection.iterator(); i.hasNext();)
        {
            Collection<Grupo> grupoCollection = i.next().getGrupoCollection();

            Grupo[] grupoTemp = new Grupo[4];
            Iterator<Grupo> it = grupoCollection.iterator();
            for(int j = 0; j < grupoTemp.length && it.hasNext() ; j++)
            {
                grupoTemp[j] = it.next(); // grupoArray[(int)Math.random()*grupoCollection.size()];
            }
            mComunicacionService = new ComunicacionServiceMock(this);
            mComunicacionService.pedirDisponibilidadGrupo(grupoTemp, (int)(Math.random()*4+1));
        }
    }

}
